package day240110

import (
	"fmt"
	"strconv"
)

func M类型转换() {
	// int 转 string
	c := 22
	b := strconv.Itoa(c) //c  int类型转 string
	fmt.Println(b)       //22
	fmt.Printf("%T", b)  //输出b类型 //string

	// string 转 float
	d := "1.5"
	e, _ := strconv.ParseFloat(d, 64) //strconv.ParseFloat(d, 64) 第二个参数是精度，64表示float64类型
	fmt.Println(e)                    //输出e值 //1.5
	fmt.Printf("%T", e)               //输出e类型 //float64
	fmt.Println("--")
	//float 转 string
	/*
		第一个参数：浮点型变量
		第二个参数：
		'f'(-ddd,dddd)
		'b'(-dddp±ddd,指数为二进制)
		'e'(-d.dddde±dd,十进制指数)
		'E'(-d.ddddE±dd,十进制指数)
		'g'(指数很大时用'e'格式，否则'f'格式)
		'G'(指数很大时用'E'格式，否则'f'格式)
		第三个参数：小数点精度
		第四个参数：浮点型变量类型，64表示float64,32表示float32
	*/
	f := 3.5
	fmt.Printf("%T", f) //float64
	s := strconv.FormatFloat(f, 'f', 3, 64)
	//strconv.FormatFloat(f, 'f', 3, 64)	//'f'表示小数点格式，3是小数点精度，64是float类型

	fmt.Println(s) //3.500

	fmt.Printf("%T", s) //string

}
